﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SAP.Middleware.Connector;

namespace WC.DL.DALC.SAP
{
    public class DestConfig: IDestinationConfiguration
    {
        #region IDestinationConfiguration Members

        public bool ChangeEventsSupported()
        {
            return false;
        }

        public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;

        public RfcConfigParameters GetParameters(string destinationName)
        {
            RfcConfigParameters cp = null;

            //RGF 20111102
            string preFijo = ParametroDALC.getParamValueStatic("ConnType").ToLower();
            string uName = ParametroDALC.getParamValueStatic(preFijo + "User");
            string passwd = ParametroDALC.getParamValueStatic(preFijo + "Passwd");
            string server = ParametroDALC.getParamValueStatic(preFijo + "Ashost");
            string instance = ParametroDALC.getParamValueStatic(preFijo + "Instancenr");
            string sysId = ParametroDALC.getParamValueStatic(preFijo + "SysId");
            string langu = ParametroDALC.getParamValueStatic("Idioma");
            string mandt = ParametroDALC.getParamValueStatic(preFijo + "Client");
            string sapRouter = ParametroDALC.getParamValueStatic(preFijo + "Router");

            cp = new RfcConfigParameters();
            cp.Add(RfcConfigParameters.SAPRouter, sapRouter);
            cp.Add(RfcConfigParameters.AppServerHost, server);
            cp.Add(RfcConfigParameters.SystemNumber, instance);
            cp.Add(RfcConfigParameters.SystemID, sysId);
            cp.Add(RfcConfigParameters.User, uName);
            cp.Add(RfcConfigParameters.Password, passwd);
            cp.Add(RfcConfigParameters.Client, mandt);
            cp.Add(RfcConfigParameters.Language, langu);
            cp.Add(RfcConfigParameters.PoolSize, "5");
            cp.Add(RfcConfigParameters.MaxPoolSize, "10");
            cp.Add(RfcConfigParameters.IdleTimeout, "600");

            //switch (destinationName)
            //{
            //    case "DEV_100":
            //        cp = new RfcConfigParameters();
            //        //cp.Add(RfcConfigParameters.Name, "DEV_100");
            //        cp.Add(RfcConfigParameters.SAPRouter, "/H/200.62.140.3/H/");
            //        cp.Add(RfcConfigParameters.AppServerHost, "172.16.40.14");
            //        cp.Add(RfcConfigParameters.SystemNumber, "00");
            //        cp.Add(RfcConfigParameters.SystemID, "DEV");
            //        cp.Add(RfcConfigParameters.User, "ttapia");
            //        cp.Add(RfcConfigParameters.Password, "maestro3");
            //        cp.Add(RfcConfigParameters.Client, "100");
            //        cp.Add(RfcConfigParameters.Language, "ES");
            //        cp.Add(RfcConfigParameters.PoolSize, "5");
            //        cp.Add(RfcConfigParameters.MaxPoolSize, "10");
            //        cp.Add(RfcConfigParameters.IdleTimeout, "600");
            //        break;
            //    case "DEV_100_IN":
            //        cp = new RfcConfigParameters();
            //        //cp.Add(RfcConfigParameters.Name, "DEV_100_IN");
            //        cp.Add(RfcConfigParameters.AppServerHost, "172.16.40.14");
            //        cp.Add(RfcConfigParameters.SystemNumber, "00");
            //        cp.Add(RfcConfigParameters.SystemID, "DEV");
            //        cp.Add(RfcConfigParameters.User, "ttapia");
            //        cp.Add(RfcConfigParameters.Password, "maestro3");
            //        cp.Add(RfcConfigParameters.Client, "100");
            //        cp.Add(RfcConfigParameters.Language, "ES");
            //        cp.Add(RfcConfigParameters.PoolSize, "5");
            //        cp.Add(RfcConfigParameters.MaxPoolSize, "10");
            //        cp.Add(RfcConfigParameters.IdleTimeout, "600");
            //        break;
            //}
            return cp;
        }

        #endregion
    }
}
